home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / D-G / FB_AppleEvents.cpt / AEVENTS.INCL < prev    next >
Text File  |  1992-05-03  |  7KB  |  187 lines

  1. INCLUDE FILE
  2. _nil=0
  3. _ioMisc=28
  4.  
  5. LOCAL FN FSpOpenDF(FSSpecPTR&,permission,refNumPTR&)
  6.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  7.   ` MOVE.L ^FSSpecPTR&,-(SP)
  8.   ` MOVE.W ^permission,-(SP)
  9.   ` MOVE.L ^refNumPTR&,-(SP)
  10.   MACHLG &H303C,&H0002,&HAA52
  11.   ` MOVE.W (SP)+,D0       ; pop result from stack
  12. END FN=REGISTER(D0)
  13.  
  14. LOCAL FN OpenDoc(opFSSpecPTR&,toDataHandlPTR&)
  15.                                           '* open a document, given its FSSpec info *
  16.   fileError=0
  17.   fileRef=0
  18.   dataCount&=0
  19.   filedataH&=0
  20.   DIM pBlock. 50
  21.   POKE LONG toDataHandlPTR&,_nil:         '* return nil data handle in case fail below *
  22.   fileError=FN FSpOpenDF(opFSSpecPTR&,_fsCurPerm,@fileRef)
  23.   LONG IF fileError=0
  24.     POKE LONG @pBlock+ _ioCompletion,0
  25.     POKE WORD @pBlock+ _ioRefNum,fileRef
  26.     fileError=FN GETEOF(@pBlock):         '* PBgetEOF - get file length in bytes *
  27.     LONG IF fileError=0
  28.       dataCount&=PEEK LONG(@pBlock+ _ioMisc)
  29.       PRINT "DATACOUNT=";dataCount&
  30.       filedataH&=FN NEWHANDLE(dataCount&)
  31.       LONG IF filedataH&
  32.         POKE LONG @pBlock+ _ioBuffer,PEEK LONG(filedataH&)
  33.         POKE LONG @pBlock+ _ioReqCount,dataCount&
  34.         POKE WORD @pBlock+ _ioPosMode,_fsFromStart
  35.         POKE WORD @pBlock+ _ioPosOffset,0
  36.         myErr=FN HLOCK(filedataH&)
  37.         fileError=FN READ(@pBlock):       '* PBRead - read specified no. bytes into buffer filedataH&*
  38.         myErr=FN HUNLOCK(filedataH&)
  39.         IF fileError=0 THEN POKE LONG toDataHandlPTR&,filedataH&:'* return the valid data handle *
  40.       XELSE
  41.         myErr=_memFullErr
  42.       END IF
  43.     END IF
  44.     fileError=FN CLOSE(@pBlock)
  45.   END IF
  46.   IF myErr=0 THEN myErr=fileError
  47. END FN=myErr
  48.  
  49.  
  50. LOCAL FN PPCBrowser(PTR1&,PTR2&,defaultSpecified,PTR3&,PTR4&,filterProc&,PTR5&)
  51.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  52.   ` MOVE.L ^PTR1&,-(SP)
  53.   ` MOVE.L ^PTR2&,-(SP)
  54.   ` MOVE.W ^defaultSpecified,-(SP)
  55.   ` MOVE.L ^PTR3&,-(SP)
  56.   ` MOVE.L ^PTR4&,-(SP)
  57.   ` MOVE.L ^filterProc&,-(SP)
  58.   ` MOVE.L ^PTR5&,-(SP)
  59.   `    MOVE.W        #$0D00,D0     ; PPCBrowser selector
  60.   MACHLG &HA82B                           ' pack9 (ppc Toolbox)
  61.   ` MOVE.W (SP)+,D0       ; pop result from stack
  62. END FN=REGISTER(D0)
  63.  
  64. LOCAL FN AEInstallEventHandler(theAEEventClass&,theAEEventID&,handler&,handlerRefcon&,isSysHandler)
  65.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  66.   ` MOVE.L ^theAEEventClass&,-(SP)
  67.   ` MOVE.L ^theAEEventID&,-(SP)
  68.   ` MOVE.L ^handler&,-(SP)
  69.   ` MOVE.L ^handlerRefcon&,-(SP)
  70.   ` MOVE.W ^isSysHandler,-(SP)
  71.   MACHLG &H303C,&H091F,&HA816
  72.   ` MOVE.W (SP)+,D0       ; pop result from stack
  73. END FN=REGISTER(D0)
  74.  
  75. LOCAL FN AERemoveEventHandler(theAEEventClass&,theAEEventID&,handler&,isSysHandler)
  76.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  77.   ` MOVE.L ^theAEEventClass&,-(SP)
  78.   ` MOVE.L ^theAEEventID&,-(SP)
  79.   ` MOVE.L ^handler&,-(SP)
  80.   ` MOVE.W ^isSysHandler,-(SP)
  81.   MACHLG &H303C,&H0720,&HA816
  82.   ` MOVE.W (SP)+,D0       ; pop result from stack
  83. END FN=REGISTER(D0)
  84.  
  85. LOCAL FN AEGetEventHandler(theAEEventClass&,theAEEventID&,handlerPTR&,handlerRefconPTR&,isSysHandler)
  86.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  87.   ` MOVE.L ^theAEEventClass&,-(SP)
  88.   ` MOVE.L ^theAEEventID&,-(SP)
  89.   ` MOVE.L ^handlerPTR&,-(SP)
  90.   ` MOVE.L ^handlerRefconPTR&,-(SP)
  91.   ` MOVE.W ^isSysHandler,-(SP)
  92.   MACHLG &H303C,&H0921,&HA816
  93.   ` MOVE.W (SP)+,D0       ; pop result from stack
  94. END FN=REGISTER(D0)
  95.  
  96. LOCAL FN AEProcessAppleEvent(theEventRecordPtr&)
  97.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  98.   ` MOVE.L ^theEventRecordPtr&,-(SP)
  99.   MACHLG &H303C,&021B,&HA816
  100.   ` MOVE.W (SP)+,D0       ; pop result from stack
  101. END FN=REGISTER(D0)
  102.  
  103. LOCAL FN AECreateAppleEvent(theAEEventClass&,theAEEventID&,AEAddressDesc_target&,returnID%,transactionID&,AppleEvent_result&)
  104.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  105.   ` MOVE.L ^theAEEventClass&,-(SP)
  106.   ` MOVE.L ^theAEEventID&,-(SP)
  107.   ` MOVE.L ^AEAddressDesc_target&,-(SP)
  108.   ` MOVE.W ^returnID%,-(SP)
  109.   ` MOVE.L ^transactionID&,-(SP)
  110.   ` MOVE.L ^AppleEvent_result&,-(SP)
  111.   MACHLG &H303C,&H0B14,&HA816
  112.   ` MOVE.W (SP)+,D0       ; pop result from stack
  113. END FN=REGISTER(D0)
  114.  
  115. LOCAL FN AESend(theAppleEvent&,AppleEvent_reply&,sendMode&,sendPriority%,timeOutInTicks&,idleProc&,filterProc&)
  116.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  117.   ` MOVE.L ^theAppleEvent&,-(SP)
  118.   ` MOVE.L ^AppleEvent_reply&,-(SP)
  119.   ` MOVE.L ^sendMode&,-(SP)
  120.   ` MOVE.W ^sendPriority%,-(SP)
  121.   ` MOVE.L ^timeOutInTicks&,-(SP)
  122.   ` MOVE.L ^idleProc&,-(SP)
  123.   ` MOVE.L ^filterProc&,-(SP)
  124.   MACHLG &H303C,&H0D17,&HA816
  125.   ` MOVE.W (SP)+,D0       ; pop result from stack
  126. END FN=REGISTER(D0)
  127.  
  128. LOCAL FN AEDisposeDesc(theAEDesc&)
  129.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  130.   ` MOVE.L ^theAEDesc&,-(SP)
  131.   MACHLG &H303C,&H0204,&HA816
  132.   ` MOVE.W (SP)+,D0       ; pop result from stack
  133. END FN=REGISTER(D0)
  134.  
  135. LOCAL FN AEGetParamDesc(theAppleEvent&,theAEKeyword&,desiredType&,result&)
  136.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  137.   ` MOVE.L ^theAppleEvent&,-(SP)
  138.   ` MOVE.L ^theAEKeyword&,-(SP)
  139.   ` MOVE.L ^desiredType&,-(SP)
  140.   ` MOVE.L ^result&,-(SP)
  141.   MACHLG &H303C,&H0812,&HA816
  142.   ` MOVE.W (SP)+,D0       ; pop result from stack
  143. END FN=REGISTER(D0)
  144.  
  145. LOCAL FN AECountItems(theAEDescList&,theCount&)
  146.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  147.   ` MOVE.L ^theAEDescList&,-(SP)
  148.   ` MOVE.L ^theCount&,-(SP)
  149.   MACHLG &H303C,&H0407,&HA816
  150.   ` MOVE.W (SP)+,D0       ; pop result from stack
  151. END FN=REGISTER(D0)
  152.  
  153. LOCAL FN AEGetNthPtr(theAEDescList&,index&,desiredType&,theAEKeyword&,typeCode&,dataPtr&,maximumSize&,actualSize&)
  154.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  155.   ` MOVE.L ^theAEDescList&,-(SP)
  156.   ` MOVE.L ^index&,-(SP)
  157.   ` MOVE.L ^desiredType&,-(SP)
  158.   ` MOVE.L ^theAEKeyword&,-(SP)
  159.   ` MOVE.L ^typeCode&,-(SP)
  160.   ` MOVE.L ^dataPtr&,-(SP)
  161.   ` MOVE.L ^maximumSize&,-(SP)
  162.   ` MOVE.L ^actualSize&,-(SP)
  163.   MACHLG &H303C,&H100A,&HA816
  164.   ` MOVE.W (SP)+,D0       ; pop result from stack
  165. END FN=REGISTER(D0) 
  166.  
  167. LOCAL FN AEGetAttributePtr(theAppleEvent&,theAEKeyword&,desiredType&,typeCode&,dataPtr&,maximumSize&,actualSize&)
  168.   ` SUBQ.W #2,SP          ;put room on stack for fn result (oserr)
  169.   ` MOVE.L ^theAppleEvent&,-(SP)
  170.   ` MOVE.L ^theAEKeyword&,-(SP)
  171.   ` MOVE.L ^desiredType&,-(SP)
  172.   ` MOVE.L ^typeCode&,-(SP)
  173.   ` MOVE.L ^dataPtr&,-(SP)
  174.   ` MOVE.L ^maximumSize&,-(SP)
  175.   ` MOVE.L ^actualSize&,-(SP)
  176.   MACHLG &H303C,&H0E15,&HA816
  177.   ` MOVE.W (SP)+,D0       ; pop result from stack
  178. END FN=REGISTER(D0) 
  179.  
  180. LOCAL FN MyGotRequiredParams(AE_messageinPTR&)
  181.   _errAEDescNotFound = -1701
  182.   DIM returnedType&,actualSize&
  183.   myErr=FN AEGetAttributePtr(AE_messageinPTR&,CVI("miss"),CVI("****"),@returnedType&,0,0,@actualSize&)
  184.   IF myErr=_errAEDescNotFound THEN myErr=0
  185. END FN=myErr
  186.  
  187.